package br.com.usjt.sge.util;

import org.apache.log4j.Logger;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateUtil {

	private static final Logger logger = Logger.getLogger(HibernateUtil.class.getName());
	private static final SessionFactory sessionFactory = buildSessionFactory();
	
	/*Método que estabelece a configuração descrita no arquivo hibernate.cfg.xml*/
	private static SessionFactory buildSessionFactory() {

		try {
			
			logger.info("Configurando arquivo para conexão.......");			
			Configuration configure = new Configuration();
			configure.configure("hibernate.cfg.xml");
			logger.info("Estabelecendo conexão.......");			
			return configure.buildSessionFactory();

		} catch (Throwable e) {
			
			logger.error("Criação inicial do objeto SessionFactory falhou. Erro: " + e.getMessage());
			throw new ExceptionInInitializerError();
		}
	}

	public static SessionFactory getSessionFactory() {
		return sessionFactory;
	}

}
